home *** CD-ROM | disk | FTP | other *** search
/ Tech Win 1995 November / CD [TECH_B].bin / tech_b / delphi / trial / disk2 / inttab.pak / ASCIIDRV.TXT next >
Encoding:
Text File  |  1995-08-08  |  5.1 KB  |  130 lines

  1.  
  2.                  Delphi での ASCII テーブルの取り扱い方
  3.                  --------------------------------------
  4.  
  5.   Delphi では ASCII テキストファイルを,機能が限定されたテーブルとして使用
  6. することができます。通常 ASCII テーブルは,ほかの形式との間でデータをやり取
  7. り(エクスポートやインポート)する場合に使用してください。ASCII テーブルをア
  8. プリケーションのための一般的なデータソースとして使うことは避けてください。
  9.  
  10.   個々の ASCII テーブルごとに,データファイル (一般に拡張子は .TXT) とスキー
  11. マファイル (基本ファイル名は同じで拡張子は .SCH) が必要です。スキーマファイ
  12. ルには,テーブルの構造とその列 (項目) のデータ型に関する情報が入っています。
  13.  
  14.   ASCII テーブルは,常に排他的アクセス用に開かれます。つまり ASCII テーブル
  15. に同時にアクセスできるのは 1 つのアプリケーション (セッション) だけです。こ
  16. のため ASCII テーブルを参照するアプリケーションを実行する前には,他のアプリ
  17. ケーションでその ASCII テーブルのファイルを開いていないことを確認しなければ
  18. なりません。
  19.  
  20.   TBatchMove コンポーネントでテーブルを ASCII 形式にコピーすると,スキーマ
  21. ファイルと ASCII データファイルが自動的に作成されます。ASCII テーブルは常に
  22. Fixed 形式のファイルとして作成されます。Delphi で (たとえば,BatchMove また
  23. は CreateTable メソッドで) ASCII テーブルを作成する場合,TableType を 
  24. ttASCII と指定しなければなりません。TableType を ttDefault のままにしないで
  25. ください。
  26.  
  27.   以下のものは,ASCII テーブルではサポートされていません。
  28.  
  29. ・インデックス (したがって,GoToKey や SetRange などのインデックスが必要な
  30.   メソッドや関数も含む)
  31. ・TQuery コンポーネント (SQL)
  32. ・レコードの削除
  33. ・レコードの(テーブル途中への)挿入。挿入は常にテーブル末尾への追加として扱
  34.   われる
  35. ・参照の整合性
  36. ・BLOB (バイナリラージオブジェクト) 型のデータ型
  37. ・Delimited 形式のテーブルは,レコードを変更 (編集) できない
  38.  
  39. スキーマファイル
  40. ----------------
  41.   スキーマファイル内のすべての情報は,大文字と小文字を区別します。以下に、
  42. スキーマファイルの例を示します。
  43.  
  44. [CUSTOMER]                      // ファイル名 (拡張子なし)
  45. FILETYPE = Delimited            // ファイル形式:Delimited または Fixed
  46. CHARSET = ascii                 // 言語ドライバ名
  47. DELIMITER = "                   // 文字項目 (フィールド) の区切り文字
  48. SEPARATOR = ,                   // 項目 (フィールド) 分離文字
  49. Field1 = Name,CHAR,12,0,0       // 項目 (フィールド) 情報
  50. Field2 = Salary,FLOAT,8,2,12
  51.  
  52.   スキーマファイルの形式は Windows の INI ファイルに似ています。ファイルは
  53. 角カッコに入ったテーブル名で始まります。2 行目は,キーワード FILETYPE の後
  54. にファイル形式として Fixed または Delimited のどちらかを指定します。
  55.  
  56. ・Fixed 形式のファイルでは,ファイル内の各項目は常に固定文字数を取り,必要
  57.   に応じてスペースが埋められます。
  58. ・Delimited 形式のファイルでは,各項目が可変数の文字を取り,各文字項目が区
  59.   切り文字で区切られ,項目が分離文字で分離されます。Delimited 形式ファイル
  60.   には,区切り文字と分離文字を指定しなければなりません。Fixed 形式ファイル
  61.   では指定する必要はありません。
  62.  
  63.   CHARSET 属性は,使用する言語ドライバの名前を指定します。
  64.  
  65.   残りの行は,テーブルの項目 (列) の属性を指定します。各行は「Fieldx = 」で
  66. 始まります。ここで x は項目番号です (Field1,Field2 など)。その次に,以下の
  67. ものを指定するカンマで区切ったリストが続きます。
  68.  
  69. ・項目名:Paradox の項目名と同じ制限を受けます。
  70. ・データ型:項目のデータ型。以下を参照してください。
  71. ・文字数または単位数:数値型の場合 20 以下でなければなりません。日付/時刻デー
  72.   タ型の最大文字総数 (/ や : などの分離文字を含む)。
  73. ・小数点以下の桁数 (FLOAT 以外は 0)。
  74. ・オフセット:項目が始まる行の先頭からの文字数。Fixed 形式だけに使用します。
  75.  
  76.   以下のデータ型がサポートされています。
  77.  
  78.   CHAR          文字
  79.   FLOAT         64 ビット浮動小数点数
  80.   NUMBER        16 ビット整数
  81.   BOOL          論理値 (T または F)
  82.   LONGINT       32 ビット倍長整数
  83.   DATE          日付型項目。形式は IDAPI.CFG で指定する
  84.   TIME          時刻型項目。形式は IDAPI.CFG で指定する
  85.   TIMESTAMP     日付+時刻型項目。形式は IDAPI.CFG で指定する
  86.  
  87. メモ:日付と時刻の形式は,BDE 環境設定ユーティリティで指定できます。
  88.  
  89. 例 1: Delimited 形式ファイル
  90. ---------------------------
  91. CUSTOMER.SCH:
  92.  
  93. [CUSTOMER]
  94. Filetype=Delimited
  95. Delimiter="
  96. Separator=,
  97. CharSet=ascii
  98. Field1=Customer No,Float,20,04,00
  99. Field2=Name,Char,30,00,20
  100. Field3=Phone,Char,15,00,50
  101. Field4=First Contact,Date,11,00,65
  102.  
  103. CUSTOMER.TXT:
  104.  
  105. 1221.0000,"Kauai Dive Shoppe","808-555-0269",04/03/1994
  106. 1231.0000,"Unisco","809-555-3915",02/28/1994
  107. 1351.0000,"Sight Diver","357-6-876708",04/12/1994
  108. 1354.0000,"Cayman Divers World Unlimited","809-555-8576",04/17/1994
  109. 1356.0000,"Tom Sawyer Diving Centre","809-555-7281",04/20/1994
  110.  
  111. 例 2: Fixed 形式ファイル
  112. -------------------------
  113. CUSTOMER.SCH:
  114.  
  115. [CUSTOMER]
  116. Filetype=Fixed
  117. CharSet=ascii
  118. Field1=Customer No,Float,20,04,00
  119. Field2=Name,Char,30,00,20
  120. Field3=Phone,Char,15,00,50
  121. Field4=First Contact,Date,08,00,65
  122.  
  123. CUSTOMER.TXT:
  124.  
  125.            1221.0000Kauai Dive Shoppe             808-555-0269   04/03/94
  126.            1231.0000Unisco                        809-555-3915   02/28/94
  127.            1351.0000Sight Diver                   357-6-876708   04/12/94
  128.            1354.0000Cayman Divers World Unlimited 809-555-8576   04/17/94
  129.            1356.0000Tom Sawyer Diving Centre      809-555-7281   04/20/94
  130.